1. Field of the Invention
The present invention relates to signal processing, and, in particular, to computer-implemented methods and apparatuses for real-time encoding of image signals using low-pass filters.
2. Description of the Related Art
This invention relates to signal encoding which is often used to compress video image signals. These images may be still images, or they may be part of a plurality of successive frames of video data ("video frames") that represent a motion video. The encoded bitstream representing a compressed image may be stored in a mass storage device in its compressed format in order to conserve storage space. When the compressed image is later retrieved it may be decompressed and, for example, displayed on a monitor.
The encoded bitstream may also be transmitted to one or more remote signal processing systems such as video conferencing nodes. These video conferencing nodes may be personal computer ("PC") based systems communicating with each other over a selected transmission medium. Because transmission media have finite bandwidths, in order to provide video conferencing of satisfactory quality, each PC system preferably compresses in satisfactory quality, each PC system preferably compresses in real time the video signals corresponding to the local participant and transmits the resulting compressed signals or bitstreams to the PC systems of the remote participants. Each PC system also preferably receives and decompresses compressed signals from the PC systems of the remote participants to play the decompressed video signals locally.
Such encoding operations that compress video image signals typically operate on subsets of the image, such as (8.times.8) blocks of pixels. A higher amount of compression tends to lower the number of bits needed to represent the image, but also tends to diminish the quality of the image reconstructed by the decoder. In limited bandwidth environments, as described above, a limited number of bits may be transmitted (or stored), on average, per image. Often, for example where a plurality of video frames are to be successively transmitted, there is a need to compress each image so that the average bitstream per image may be transmitted using the available bandwidth. If the images are not compressed enough then not all images may be transmitted using the available bandwidth, or might not be able to be stored as preferred in a mass storage device. If, however, some images are compressed more than is necessary, then some of the bandwidth is wasted that could have been used to transmit a higher quality image. Thus, the type and amount of compression may need to be altered for each frame and even for each block within the frame in order to control the bit rate.
Typically, the (8.times.8) blocks of the image to be encoded are transformed by a forward discrete cosine transform ("DCT") to generate a transformed signal comprising 64 DCT coefficients, which are also arranged in an (8.times.8) block. One conventional manner of controlling the bit rate of the encoded bitstream is to select varying quantization levels, represented in quantization tables, at the encoding stage. In quantization, each DCT coefficient is divided by the quantizer in the corresponding (8.times.8) block position in order to reduce the number of bits needed to represent the coefficient. As is appreciated by those skilled in the art, use of a coarser quantization table implies using fewer bits to encode an image but at the cost of image quality. Use of finer quantization tables results in encoded bitstreams with more bits but with higher quality images upon decompression. This type of bit rate control is often referred to as primary bit rate control. Secondary bit rate control involves the dropping of video frames or images from the video stream. The secondary bit rate control is a back-up mode in case the primary bit rate control is insufficient.
Unfortunately, when coarser quantization is used at the encoding stage to control the bit rate, the resulting decoded image often demonstrates quantization artifacts, for example along the edges of the (8.times.8) blocks that are decoded from the quantized transformed coefficients. One way to minimize such artifacts in the decoded (i.e., decompressed) image is to perform post-filtering on the decoded image at the decoding stage. Post-filtering, however, may severely distort the image or otherwise remove too much information, may demand too much processing time, or may introduce added complexity to the decoder.
It is accordingly an object of this invention to overcome the disadvantages and drawbacks of the known art and to provide computer-implemented methods, apparatuses, and systems for greater control of the bit rate of encoded bitstreams. It is a further object of this invention to provide higher quality decompressed images.
Further objects and advantages of this invention will become apparent from the detailed description of a preferred embodiment which follows.